home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKit / Palettes / MiscSwapKitPalette / MiscSVInspector.m < prev    next >
Text File  |  1995-04-12  |  3KB  |  127 lines

  1. // Copyright (C) 1995
  2. // Use is governed by the MiscKit license
  3.  
  4. #import "MiscSwapKit.subproj/MiscSwapView.h"
  5. #import "MiscSVInspector.h"
  6.  
  7. @implementation MiscSVInspector
  8.  
  9. // Load the Inspector
  10.  
  11. - init
  12. {
  13.     char buf[MAXPATHLEN + 1];
  14.     id bundle;
  15.     
  16.     [super init];
  17.     
  18.     bundle = [NXBundle bundleForClass:[MiscSwapView class]];
  19.  
  20.     if ([bundle getPath: buf forResource: "MiscSVInspector" ofType:"nib"])
  21.         [NXApp loadNibFile:buf owner:self withNames:NO fromZone:[self zone]];
  22.  
  23.     bundle = [NXBundle bundleForClass: [self class] ];
  24.     
  25.     // Load up the images for the backGround gray matrix of buttons.
  26.     
  27.     if ([bundle getPath: buf forResource: "boxBlack" ofType: "tiff"])
  28.         [ [bGrayMatrix cellAt: 0 : 3] setImage:    
  29.                         [ [NXImage alloc] initFromFile: buf] ];
  30.     if ([bundle getPath: buf forResource: "boxDkgray" ofType: "tiff"])
  31.         [ [bGrayMatrix cellAt: 0 : 2] setImage:
  32.                         [ [NXImage alloc ] initFromFile: buf] ];
  33.     if ([bundle getPath: buf forResource: "boxLtgray" ofType: "tiff"])
  34.         [ [bGrayMatrix cellAt: 0 : 1] setImage:
  35.                         [ [NXImage alloc] initFromFile: buf] ];
  36.     if ([bundle getPath: buf forResource: "boxWhite" ofType: "tiff"])    
  37.         [ [bGrayMatrix cellAt: 0 : 0] setImage:
  38.                         [ [NXImage alloc] initFromFile: buf] ];
  39.     [bGrayMatrix display];
  40.     
  41.     return self;
  42. }
  43.  
  44.  
  45.  
  46. // Query the object for it's attributes
  47.  
  48. - revert: sender
  49. {
  50.   int  tag = 0;
  51.   float  gray = 0.0;
  52.   
  53.     [ [optionMatrix cellAt: 0 : 0] setState: [object doesTagComparison] ];
  54.     [ [optionMatrix cellAt: 1 : 0] setState: [object doesUseBuffering] ];
  55.     [optionMatrix display];    
  56.  
  57.     gray = [object backgroundGray];
  58.     
  59.     // Anyone have a better way to do this? I tried just comparing gray
  60.     // to NX_BLACK, etc and it did not work.
  61.     
  62.     if (gray >= 0.75) tag = 0;
  63.     if (gray < 0.75 && gray >= 0.51) tag = 1;
  64.     if (gray < 0.51 && gray >= 0.25) tag = 2;
  65.     if (gray < 0.25) tag = 3;
  66.     
  67.     [ [bGrayMatrix selectCellWithTag: tag] display];
  68.  
  69.     return [super revert: sender];
  70. }
  71.  
  72.  
  73.  
  74. - grayChanged:sender
  75. {
  76.   float  gray = NX_LTGRAY;
  77.   
  78.     switch ([ [bGrayMatrix selectedCell] tag])
  79.     {
  80.         case 0: gray = NX_WHITE; break;
  81.         case 1: gray = NX_LTGRAY; break;
  82.         case 2: gray = NX_DKGRAY; break;
  83.         case 3: gray = NX_BLACK; break;
  84.      }
  85.     [object setBackgroundGray: gray]; 
  86.     [object display];
  87.  
  88.     return [super ok: sender];
  89. }
  90.  
  91.  
  92.  
  93. - optionChanged:sender
  94. {
  95.     switch ([ [optionMatrix selectedCell] tag])
  96.     {
  97.         case 0:        
  98.             [object setTagComparison: [ [optionMatrix cellAt: 0 :0] state] ];
  99.             break;
  100.             
  101.         case 1:        
  102.             [object setUseBuffering: [ [optionMatrix cellAt: 1 : 0] state ] ];
  103.             break;
  104.      }
  105.      
  106.     return [super ok: sender];
  107. }
  108.  
  109.  
  110.  
  111. - (BOOL)wantsButtons
  112. {
  113.     return NO;
  114. }
  115.  
  116. @end
  117.  
  118.  
  119. @implementation MiscSwapView (IBInspector)
  120.  
  121. - (const char *)getInspectorClassName
  122. {
  123.     return "MiscSVInspector";
  124. }
  125.  
  126. @end
  127.